\documentclass[12pt,a4paper]{article}
\usepackage{alexmanual} %定义格式文件
\title{近场动力学软件安装教程}
\author{王茂茂 \\ \url{15620864891@163.com}}
\begin{document}
\maketitle
\abstract{PD学习笔记:软件部分}
\tableofcontents
\newpage
\section{近场动力学软件安装}

\subsection{LAMMPS}
LAMMPS进行近场动力学计算由 \lstinline|peri| 包实现，这是个自带包，在编译可执行文件前启用即可。 命令如下：
\begin{lstlisting}
	make yes-peri
	make mpi -j4 
\end{lstlisting}
具体使用参考官方教程 \url{http://www.sandia.gov/mlparks/papers/PDLAMMPS.pdf}

\subsection{Peridynamics}
Peridigm 是 美国 Sandia 国家实验室开发的专门用于近场动力学计算的开源包，目前亚利桑那大学等大学已经开展商业软件开发。 Peridigm 高度依赖于 Sandia 的科学计算组件 Trilinos, 由于此组件包组成复杂，安装过程甚为繁琐，相对较友好的安装平台是Manjaro系统。

\subsubsection{软件版本}
\begin{itemize}
	\item Manjaro 18.2.1
	\item Trilinos 12.14.1
	\item Peridigm-python2-3
	
\end{itemize}

\subsubsection{安装工具和依赖}
\begin{lstlisting}
	sudo pacman  -S gtest yaml-cpp
\end{lstlisting}
\subsubsection{构建Trilinos}
\begin{lstlisting}
	yaourt -S trilinos
\end{lstlisting}
修改 \lstinline|BUILDPKG|, 添加如下一行:
\begin{lstlisting}
	-DTPL_ENABLE_yaml-cpp=BOOL:0 \
\end{lstlisting}
继续构建，直至完成。
\subsubsection{下载并编译Peridigm}
\begin{lstlisting}
	git clone  https://github.com/peridigm/peridigm.git
	cd peri<Table补全>
	mkdir build 
	cd build 

	rm -f CMakeCache.txt

	cmake \
	-D CMAKE_BUILD_TYPE:STRING=Release \
	-D CMAKE_C_COMPILER:STRING=/usr/bin/mpicc \
	-D CMAKE_CXX_COMPILER:STRING=/usr/bin/mpicxx \
	-D CMAKE_CXX_FLAGS:STRING="-O2 -Wall -std=c++11 -pedantic -Wno-long-long -ftrapv -Wno-deprecated" \
	..
\end{lstlisting}
\subsubsection{安装Peridigm}
\begin{lstlisting}
	make -j4
	sudo make install 
\end{lstlisting}
\subsection{算例测试}
\subsubsection{基本文件类型}
\begin{enumerate}
	\item  \lstinline|*.yaml| 计算脚本文件,定义材料，求解器
	\item \lstinline|*.g| 模型文件，包含网格信息
	\item \lstinline|*.e| 输出数据集
\end{enumerate}
\subsubsection{基本命令}
\begin{enumerate}
	\item  \lstinline|Peridigm|  Peridigm 主程序
	\item \lstinline|mpiexec|  启动并行计算
	\item \lstinline|decomp|  分解文件，为并行计算做准备， 参数 \lstinline|-j <并行核心数>|
\end{enumerate}
\subsubsection{运行一个算例}
\begin{lstlisting}
	cd  examples/<算例文件夹>
	decomp -j4 <算例名>.e
	mpiexec Peridigm <算例名>.yaml
\end{lstlisting}
\subsection{后处理程序 Paraview}
\subsubsection{安装}
\begin{lstlisting}
	sudo pacman -S paraview 
	# 选择 1- 基于wayland 版本
\end{lstlisting}
\subsubsection{入门使用}
教程参见 \url{https://www.paraview.org/Wiki/The_ParaView_Tutorial}
\end{document}